docs: Fix links in markdown content differently
authorMatthias Clasen <mclasen@redhat.com>
Wed, 29 Jul 2020 11:45:02 +0000 (07:45 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 29 Jul 2020 11:47:59 +0000 (07:47 -0400)
pandoc insists on using the xlink namespace for hrefs,
and the namespace setup doesn't carry over xi:includes.
My first fix was to tell pandoc to generate standalone
docbook documents, which makes it insert the xlink
namespace. But it also makes it wrap all sections and
chapters in articles, and that messes up our toc structure.

So, patch things up differently by stripping the xlink:
from hrefs via regex.

Yay for XML!

docs/reference/gtk/gtk-markdown-to-docbook

index 4268bf1b7a716c527a1fa2522d30789fd1d75545..a278b8b583ffba7118c6f70e270682d9ec2eae47 100755 (executable)
@@ -12,6 +12,13 @@ import subprocess
 # The following code is taken from gtk-doc
 
 def ExpandAbbreviations(symbol, text):
+    # Hack!
+    # Strip xlink namespace from hrefs since pandoc insists on
+    # inserting them, and namespace setup doesn't transfer across
+    # xi:include.
+    # Yay for XML!
+    text = re.sub('xlink:href', 'href', text)
+
     # Convert '@param()'
     text = re.sub(r'(\A|[^\\])\@(\w+((\.|->)\w+)*)\s*\(\)', r'\1<parameter>\2()</parameter>', text)
 
@@ -177,7 +184,6 @@ def ConvertToDocbook(infile, outfile):
     subprocess.check_call(["pandoc", infile, "-o", outfile,
                            "--from=" + input_format,
                            "--to=" + output_format,
-                           "--standalone",
                            "--top-level-division=" + division])
 
 def ExpandGtkDocAbbreviations(infile, outfile):